// 数字转中文大写人民币测试

test "to_chinese_currency_basic" {
  // 基本整数测试
  inspect(Convert::to_chinese_currency(100.0), content="壹佰元整")
  inspect(Convert::to_chinese_currency(123.0), content="壹佰贰拾叁元整")
  inspect(Convert::to_chinese_currency(1000.0), content="壹仟元整")
  inspect(Convert::to_chinese_currency(0.0), content="零元整")
}

test "to_chinese_currency_decimal" {
  // 小数测试
  inspect(Convert::to_chinese_currency(123.45), content="壹佰贰拾叁元肆角伍分")
  inspect(Convert::to_chinese_currency(0.05), content="伍分")
  inspect(Convert::to_chinese_currency(10.50), content="壹拾元伍角")
  inspect(Convert::to_chinese_currency(0.01), content="壹分")
  inspect(Convert::to_chinese_currency(0.10), content="壹角")
}

test "to_chinese_currency_complex" {
  // 复杂小数测试（5位小数）
  inspect(Convert::to_chinese_currency(123.45678), content="壹佰贰拾叁元肆角伍分陆厘柒毫捌丝")
  inspect(Convert::to_chinese_currency(100.00001), content="壹佰元壹丝")
  inspect(Convert::to_chinese_currency(0.12345), content="壹角贰分叁厘肆毫伍丝")
}

test "to_chinese_currency_large_numbers" {
  // 大数测试（15位以内）
  inspect(Convert::to_chinese_currency(12345.0), content="壹万贰仟叁佰肆拾伍元整")
  inspect(Convert::to_chinese_currency(10000.0), content="壹万元整")
  inspect(Convert::to_chinese_currency(10001.0), content="壹万零壹元整")
  inspect(Convert::to_chinese_currency(100000000.0), content="壹亿元整")
}

test "to_chinese_currency_negative" {
  // 负数测试
  inspect(Convert::to_chinese_currency(-100.0), content="负壹佰元整")
  inspect(Convert::to_chinese_currency(-123.45), content="负壹佰贰拾叁元肆角伍分")
  inspect(Convert::to_chinese_currency(-0.05), content="负伍分")
}

test "to_chinese_currency_edge_cases" {
  // 边界情况测试
  inspect(Convert::to_chinese_currency(1.0), content="壹元整")
  inspect(Convert::to_chinese_currency(0.99999), content="玖角玖分玖厘玖毫玖丝")
  inspect(Convert::to_chinese_currency(10.01), content="壹拾元壹分")
  inspect(Convert::to_chinese_currency(100.10), content="壹佰元壹角")
}

test "to_chinese_currency_precision" {
  // 精度测试
  inspect(Convert::to_chinese_currency(1.23456), content="壹元贰角叁分肆厘伍毫陆丝")
  inspect(Convert::to_chinese_currency(0.00001), content="壹丝")
  inspect(Convert::to_chinese_currency(999.99999), content="玖佰玖拾玖元玖角玖分玖厘玖毫玖丝")
}